#include <set>
using namespace std;
namespace ITER_END_DEREF_MUST {

	int foo_bad(set<int>& cont)
	{
		int x = 0;
		set<int>::iterator i;
		for (i = cont.begin(); i != cont.end(); i++)
		{
			x += *i;
			if (x > 100)
				break;
		}
		x += *i;
		return x;
	}

	int foo_good(set<int>& cont)
	{
		int x = 0;
		set<int>::iterator i;
		for (i = cont.begin(); i != cont.end(); i++)
		{
			x += *i;
			if (x > 100)
				break;
		}

		if (i != cont.end())
			x += *i;
		return x;
	}
}